package list;

public interface IList<E> {
	public int size();
	public boolean isEmpty();
	public boolean isFirst(E e);
	public boolean isLast(E e);
	public E first();
	public E last();
	public E prev(int index) throws IndexOutOfBoundsException;
	public E next(int index) throws IndexOutOfBoundsException;
	public E replaceElement(int index, E e) throws IndexOutOfBoundsException;
	public E remove(int index) throws IndexOutOfBoundsException;
	public void swapElements(int index1, int index2) throws IndexOutOfBoundsException;
	public void insertBefore(int index, E e) throws IndexOutOfBoundsException;
	public void insertAfter(int index, E e) throws IndexOutOfBoundsException;
	public void insertFirst(E e);
	public void insertLast(E e);
}
